//
//  main.c
//  While循环
//
//  Created by ws on 2017/7/17.
//  Copyright © 2017年 王松. All rights reserved.
//

#include <stdio.h>

/**
 while循环格式
 
 while(当条件表达式满足的时候){
 语句...//当条件满足 就会循环执行这里的语句
 ...
 }
 */
void test(){
    //定义一个循环控制的变量
    int answer = 0;
    while (answer == 0) {
        printf("条件满足\n");
        scanf("%d",&answer);
    }
    printf("结束\n");
}
void test1(){
    //定义一个变量来控制循环:控制循环变量
    int count = 0;
    while (count < 10) {
        count++;
        printf("转圈 = %d\n",count);
    }
}
/**
 循环作用:用来处理一些重复执行的操作
 写一个循环的具体步骤
 1.需要明确重复执行的操作
 2.确定循环终止的条件
   1.在循环开始之前,需要定义一个循环控制变量,并将其初始化
   2.指定循环约束条件
   3.在每一次循环结束的时候或者在循环中,需要改变循环控制变量的值,让他不断的进行条件判断
 
 计数器思想:利用循环当每一次满足条件,就将计数器变量 +1
 
 while的注意点:
 1.在c语言中任何数值都有真假性,只有0是假
 2.因为分号是一个空语句,空语句也是一个语句,所以下面的就不会执行啦
 3.当while直接跟上一个分号,那么就说明只有分号和While是一体的 ,后面的大括号和while无关
 4.在while大括号内部定义的变量,在外部不可以访问
 5.大括号里面的语句我们称之为循环体,小括号里面成为循环约束条件
 6.如果现在循环体中定义变量,必须要加上大括号(大括号不能省略)
 */

//练习
/**
 用户从键盘上录入一个整数N 计算1+2+3+... + N的值
 */
void test2(){
    printf("请输入一个正整数\n");
    int n ;
    scanf("%d",&n);
    int sum = 0;
    int i = 1;
    while (i <= n) {
        sum = sum + i;
        i ++;
    }
    printf("sum = %d\n",sum);
}
/**
 找出1到100中能被7整除的数并且记录个数
 */
void test3(){
    int i = 1;
    int count = 0;
    while (i <= 100) {
        if (i % 7 == 0) {
            count ++ ;
            printf("i = %d\n",i);
        }
        i++;
    }
    printf("个数==%d\n",count);
}
/**
 因为分号是一个空语句,空语句也是一个语句,所以下面的就不会执行啦
 当while直接跟上一个分号,那么就说明只有分号和While是一体的 ,后面的大括号和while无关
 */
void test4(){
    int a = 1;
    while (a < 5); {
        printf("%d\n",a);
        a++;
    }
}
/**
 作用域紊乱
 如果现在循环体中定义变量,必须要加上大括号(大括号不能省略)
 */
void test5(){
    //    int a = 1;
    //    while (a < 5)
    //        int b = 0;
}
/**
 for与while
 1.for循环不容易出错
 2.代码更加整洁,可读性更好
 3.当整个循环结束后,还需要使用循环控制变量的时候,就用while
 */
int main(int argc, const char * argv[]) {


    return 0;
}
